

let pro =new Promise(function(resolve,reject){
    if(Math.random()>0.5){
        resolve("明天出太阳")
    }else{
        reject("雨下到清明节")
    }
})

pro.then(res=>{
    console.log(res);
}).catch(err=>{
    console.log(err);
})

import qs from "qs"

export const ajax ={
    get(url,params,headers){
        return new Promise((resolve,reject)=>{
        // ajax 四部曲  

            // 监听响应状态 获取数据 
     function hanlder(){
         //this=>xhr

          
                // readyState 
                // 0 请求未初始化
                // 1 请求已经建立但是还没有发送
                // 2 请求已经发送 正在处理
                // 3 请求正在处理 准备响应数据
                // 4 请求已经完成  数据全部响应

                // status  http状态码 
                // 100 200 300 400 500 

        //  if(this.readyState==4 && this.status==200){
        //      resolve({data:this.responseText})
        //  }else{
        //         reject(this.statusText)
        //  }

         if(this.readyState!==4){
            return 
        }
        if(this.status == 200){
            resolve({data:JSON.parse(this.responseText)})
        }else{
            reject(this.statusText)
        }
     }
             params=qs.stringify(params)
           console.log(params);
            var xhr = new XMLHttpRequest()
            xhr.open("GET",url+"?"+params,true);
            xhr.send();
            xhr.onreadystatechange=hanlder

        })
    },
    post(url,body,params){
        return new Promise((resolve,reject)=>{
            function hanlder(){
                if(this.readyState!==4){
                    return 
                }
                if(this.status == 200){
                    resolve({data:JSON.parse(this.responseText)})
                }else{
                    reject(this.statusText) 
                }
            }
            params = qs.stringify(params)
            console.log(params)
            var xhr = new XMLHttpRequest()
            xhr.open("POST",url+"?"+params,true);
            xhr.setRequestHeader("content-type","application/x-www-form-urlencoded") // 设置post格式提交的数据格式 
            xhr.send(qs.stringify(body))  // 发送请求 
            xhr.onreadystatechange = hanlder;
        })
    }
}
